Increasingly, users access applications offered via computing, networking, and storage resources located in a data center. These applications run in a distributed computing environment, which is sometimes referred to as the cloud computing environment. Computer servers in a data center are interconnected via a network and thus the applications running on the computer servers can communicate with each other via the network. In large data centers the communication of messages among the computer servers can include broadcasting or multicasting a message from a computer server to several other computer servers. Broadcasting or multicasting in such data centers can use a significant portion of the bandwidth available for the applications. That, in turn, can degrade the performance of these applications as they experience lower throughput and higher latency.
Thus, there is a need for methods and systems that alleviate at least some of these issues.